package com.itheima.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor

//当实体类中的表名和表中的表名不一致时，需要加@TableName（"表的表名"）注解
@TableName("tb_user")
public class User {

    //默认用数据库自增Id
    //@TableField(value = "id",type = IdType.AUTO)

    //雪花算法，随机生成19位唯一的数字
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    private Long id;

    //当实体类中的属性名和表中的字段名不一致时，需要加@TableField注解
    @TableField("username")
    private String name;

    //当实体类中的属性名和表中的字段名不一致时且满足驼峰命名时，（若开启了驼峰命名，会自动映射，可以不加）最好加@TableField注解
    @TableField("is_married")
    private Boolean isMarried;

    //当实体类中的属性名和表中的字段名是表中的关键字时，需要加@TableField注解和``(反引号)
    @TableField("`order`")
    private Integer order;

    //当实体类中的属性名在表中的字段名不存在时（不是一一对应），需要加 @TableField(exist = false)注解
    @TableField(exist = false)
    private String address;
}
